package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;
import javax.swing.DefaultListModel;
import negocio.ObraSocial;
import negocio.Sistema;
import ventanas.VentanaBusquedaObrasSociales;
import ventanas.VentanaABMObraSocial;

public class ControladorBusquedaObrasSociales implements ActionListener, MouseListener {

	private VentanaBusquedaObrasSociales v;
	private Sistema s;
	
	public ControladorBusquedaObrasSociales(VentanaBusquedaObrasSociales ventana){
		this.v = ventana;
		this.s = Sistema.obtenerInstancia();
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource()==v.getBtnC()){
			v.getTxtBuscar().setText("");
			v.getLista().setModel(new DefaultListModel<ObraSocial>());
		}
		
		if(e.getSource()==v.getBtnBuscarOS()){
			String obraSocial = v.getTxtBuscar().getText();
			List<ObraSocial> obrasSociales = s.buscarObrasSociales(obraSocial);
			DefaultListModel<ObraSocial> modelo = (DefaultListModel<ObraSocial>) v.getLista().getModel();
			modelo.removeAllElements();
			
			for(ObraSocial os:obrasSociales){
				if(os.getNombre()!=""){
					modelo.addElement(os);
				}
			}
			v.getLista().revalidate();
		}
		
		if(e.getSource()==v.getBtnNuevaOS()){
			VentanaABMObraSocial vent = new VentanaABMObraSocial(null);
			vent.getChckbxEditarObraSocial().setVisible(false);
			vent.getBtnBajaOS().setEnabled(false);
		}
	}

	@Override
	public void mouseClicked(MouseEvent e) {
		if(v.getLista().getModel().getSize()>0){
			if(e.getClickCount()==2){
				ObraSocial os = (ObraSocial) v.getLista().getSelectedValue();
				new VentanaABMObraSocial(os);
			}
		}
	}

	@Override
	public void mousePressed(MouseEvent e){}

	@Override
	public void mouseReleased(MouseEvent e){}

	@Override
	public void mouseEntered(MouseEvent e){}

	@Override
	public void mouseExited(MouseEvent e){}
	
}
